﻿using OsPortal;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Web;

/// <summary>
/// Summary description for clsTinDang
/// </summary>
public class clsTinDang
{
    static string strClassName = "clsTinDang";
    public struct stTinDang
    {
        public int P_MOD;
        public int DM_ID;
        public int DM_LIENQUAN;
        public int AT_ID;
        public int TI_ID;
        public String TI_TIEUDE;
        public String TI_TIEUDE_KODAU;
        public String TI_MOTA;
        public String TI_MOTA_KODAU;
        public String TI_NOIDUNG;
        public String TI_ANH;
        public String TI_DAUTU;
        public String TI_THOIGIAN;
        public DateTime TI_NGAY_BATDAU;
        public DateTime TI_NGAY_KETTHUC;
        public int TI_KIEUTIN;
        public int TI_STATUS;
    }
	public clsTinDang()
	{
		//
		// TODO: Add constructor logic here
		//
	}

    /// <summary>
    /// Lấy danh sach tin
    /// </summary>
    /// <param name="iP_CURRPAGE">Trang hiện tại</param>
    /// <param name="iP_PAGESIZE">Số lượng bản ghi cần lấy</param>
    /// <param name="strP_CHUDE">Chủ để gốc - tên không dấu</param>
    /// <param name="strP_SUB_CHUDE">Chủ đề liên quan - Tên ko dấu</param>
    /// <param name="strP_AT_NAME_KODAU">Diễn giả - Tên ko dấu</param>
    /// <param name="IP_TI_STATUS">Trạng thái tin (1 or 0)</param>
    /// <returns></returns>
    public static DataTable fncTinDang_FND(int iP_CURRPAGE, int iP_PAGESIZE
                                        , string strP_CHUDE
                                        ,int iP_TI_ID
                                        , string strP_SUB_CHUDE
                                        , string strP_AT_NAME_KODAU
                                        , int IP_TI_STATUS)
    {
        DataTable dt = null;
        try
        {
            dt = oSqlDataHelper.sExecuteDataTable("TINDANG_FND", new SqlParameter[]{
                new SqlParameter("@P_CURRPAGE",iP_CURRPAGE),
                new SqlParameter("@P_PAGESIZE",iP_PAGESIZE),
                new SqlParameter("@P_CHUDE",strP_CHUDE),
                new SqlParameter("@P_TI_ID",iP_TI_ID),
                new SqlParameter("@P_SUB_CHUDE",strP_SUB_CHUDE),
                new SqlParameter("@P_AT_NAME_KODAU",strP_AT_NAME_KODAU),
                new SqlParameter("@P_TI_STATUS",IP_TI_STATUS)
            });
            if (dt == null) return null;
            if (dt.Rows.Count <= 0) return null;
        }
        catch (Exception ex)
        {
            OsPortal.oFileHelper.WriteLogErr(strClassName, "fncTinDang_FND", ex.ToString());
        }
        return dt;
    }

    /// <summary>
    /// Update luot xem
    /// Author: NguyenTV - 21/11/2013
    /// </summary>
    /// <param name="iP_TI_ID"></param>
    /// <returns></returns>
    public static bool UpdateLuotXem(int iP_TI_ID)
    {
        int i = 0;
        try
        {
            i = oSqlDataHelper.sExecute("TIN_DANG_ACT_UPDATELUOTXEM", new SqlParameter[]{
            new SqlParameter("@P_TI_ID",iP_TI_ID),
            });
        }
        catch (Exception ex)
        {
            oFileHelper.WriteLogErr(strClassName, "UpdateLuotXem", ex.ToString());
        }
        if (i > 0) return true;
        return false;
    }

    /// <summary>
    /// Lấy chi tiết tin
    /// </summary>
    /// <param name="iP_TI_ID">Mã Tin</param>
    /// <param name="strP_TI_TIEUDE_KODAU">Tiêu đề ko dấu</param>
    /// <returns></returns>
    public static DataTable fncTinDang_DETAIL(int iP_TI_ID, string strP_TI_TIEUDE_KODAU)
    {
        DataTable dt = null;
        try
        {
            dt = oSqlDataHelper.sExecuteDataTable("TINDANG_DETAIL", new SqlParameter[]{
                new SqlParameter("@P_TI_ID",iP_TI_ID)
            });
            if (dt == null) return null;
            if (dt.Rows.Count <= 0) return null;
            //Update Luot xem
            clsTinDang.UpdateLuotXem(iP_TI_ID);
        }
        catch (Exception ex)
        {
            OsPortal.oFileHelper.WriteLogErr(strClassName, "fncTinDang_DETAIL", ex.ToString());
        }
        return dt;
    }

    /// <summary>
    /// Lấy danh sách tin cùng chủ đề
    /// </summary>
    /// <param name="iP_TI_ID">Mã Tin</param>
    /// <returns></returns>
    public static DataTable fncTinDang_CungCD(int iP_TI_ID)
    {
        DataTable dt = null;
        try
        {
            dt = oSqlDataHelper.sExecuteDataTable("TINDANG_CUNG_CHU_DE", new SqlParameter[]{
                new SqlParameter("@P_TI_ID",iP_TI_ID)
            });
            if (dt == null) return null;
            if (dt.Rows.Count <= 0) return null;
        }
        catch (Exception ex)
        {
            OsPortal.oFileHelper.WriteLogErr(strClassName, "fncTinDang_DETAIL", ex.ToString());
        }
        return dt;
    }

    /// <summary>
    /// Thêm sửa, xóa tin
    /// </summary>
    /// <param name="objTinDang"></param>
    /// <param name="strMod"></param>
    /// <returns></returns>
    public static string fncTinDang_Act(stTinDang objTinDang, string strMod)
    {
        try
        {
            DataTable dt = oSqlDataHelper.sExecuteDataTable("TINDANG_ACT", new SqlParameter[]{
                new SqlParameter("@P_MOD",strMod),
                new SqlParameter("@P_TI_ID",objTinDang.TI_ID),
                new SqlParameter("@P_DM_ID",objTinDang.DM_ID),
                new SqlParameter("@P_DM_LIENQUAN",objTinDang.DM_LIENQUAN),
                new SqlParameter("@P_AT_ID",objTinDang.AT_ID),
                new SqlParameter("@P_TI_TIEUDE",objTinDang.TI_TIEUDE),
                new SqlParameter("@P_TI_MOTA",objTinDang.TI_MOTA),
                new SqlParameter("@P_TI_NOIDUNG",objTinDang.TI_NOIDUNG),
                new SqlParameter("@P_TI_ANH",objTinDang.TI_ANH),
                new SqlParameter("@P_TI_DAUTU",objTinDang.TI_DAUTU),
                new SqlParameter("@P_TI_THOIGIAN",objTinDang.TI_THOIGIAN),
                new SqlParameter("@P_TI_NGAY_BATDAU",objTinDang.TI_NGAY_BATDAU),
                new SqlParameter("@P_TI_NGAY_KETTHUC",objTinDang.TI_NGAY_KETTHUC),
                new SqlParameter("@P_TI_KIEUTIN",objTinDang.TI_KIEUTIN),
                new SqlParameter("@P_TI_STATUS",objTinDang.TI_STATUS),
            });
            if (dt == null) return "";
            if (dt.Rows.Count <= 0) return "";

            string strResult = dt.Rows[0]["ERRNAME"].ToString();
            return strResult;
        }
        catch (Exception ex)
        {
            oFileHelper.WriteLogErr(strClassName, "fncPhongTro_Act", ex.ToString());
            return "Có lỗi phát sinh! Vui lòng liên hệ BQT";
        }
    }
}